package com.qd.common.panda.domain.entity.card.redeemcode;

import com.qd.common.panda.domain.entity.card.CardPlanDTO;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;
import java.util.Optional;

/**
 * 计划统计
 */
@Data
@Accessors(chain = true)
public class PlanRedeemCodeDTO {
    /**
     * 计划信息
     */
    private CardPlanDTO cardPlanDTO;
    /**
     * 卷总数量
     */
    private Long totalCount;
    /**
     * 未兑换数量
     */
    private Long redemptionNo;
    /**
     * 已兑换数量
     */
    private Long redemptionYes;
    /**
     * 未使用数量
     */
    private Long useNo;
    /**
     * 已使用数量
     */
    private Long useYes;
    /**
     * 劵统计列表
     */
    private List<CardRedeemCodeDTO> cardRedeemCodeList;

    public void freeData() {
        Optional.ofNullable(cardPlanDTO).ifPresent(CardPlanDTO::freeData);
        this.totalCount = null;
        this.redemptionNo = null;
        this.redemptionYes = null;
        this.useNo = null;
        this.useYes = null;
        Optional.ofNullable(cardRedeemCodeList).ifPresent(List::clear);
    }
}